package com.sumainfor.pc.market.feign.Zfeign;

import com.sumainfor.common.util.JsonResult;
import com.sumainfor.pc.market.fallback.ZfallBack.ZuulFeignFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

/**
 * 调用网关服务
 */
@FeignClient(name = "tANGNEST-ZUUl", fallback = ZuulFeignFallback.class)
public interface ZzuulFeign {
    /**
     * 根据员工编号查询员工的姓名
     */
    @GetMapping("/provider/Zfeign/getButlerName")
    JsonResult getButlerName(@RequestParam(value = "idList") List<String> idList);

    /**
     * 市场部经理分配服务中心，根据部门编号查询服务中心信息
     */
    @PostMapping("provider/Zfeign/getDeptNameByDeptId")
    JsonResult getDeptNameByDeptId(@RequestBody List<String> idList);

    /**
     * 房源上架详情查询房源的收房专员、归属服务中心、服务管家
     */
    @PostMapping("/provider/Zfeign/getHousingInfoName")
    Map<String, Object> getHousingInfoName(@RequestBody Map<String, Object> params);

    /**
     * 市场部经理房源定价列表查询服务中心和定价人信息
     */
    @PostMapping("/provider/Zfeign/getHousingInfoNameFd")
    Map<String, Object> getHousingInfoNameFd(@RequestBody Map<String, Object> params);

    /**
     * 市场部经理分配服务中心，根据部门编号查询服务中心信息
     */
    @GetMapping("provider/Zfeign/getUserName")
    JsonResult getUserName(@RequestParam(value = "params") Map<String, Object> params);

    /**
     * 签约时，获取输入房源编号的归属管家和归属中心
     */
    @GetMapping("provider/Zfeign/getUserDeptName")
    JsonResult getUserDeptName(@RequestParam(value = "params") Map<String, Object> params);

    /**
     * 转单池的查询转单人的信息
     */
    @PostMapping("/provider/Zfeign/getPuserListById")
    JsonResult getPuserListById(@RequestBody Map<String, Object> params);

    /**
     * 运营部服务秘书账单管理根据编号查询管家的姓名
     */
    @PostMapping("/provider/Zfeign/getSysUserBySysUserId")
    JsonResult getSysUserBySysUserId(@RequestBody Map<String, Object> params);

    /*维修师傅查询房源归属人的信息*/
    @PostMapping("/provider/Zfeign/getReapirSysUser")
    JsonResult getReapirSysUser(@RequestBody Map<String, Object> params);

    /**
     * 获取服务中心 部门数据通过ID
     *
     * @param deptId
     * @return
     */
    @PostMapping("/provider/getDeptInfoById")
    Map<String, Object> getDeptInfoById(@RequestParam("deptId") String deptId);

    /**
     * 查询服务中心下的全部角色列表
     */
    @GetMapping("provider/Zfeign/getWoUserIdList")
    JsonResult getWoUserIdList(@RequestParam(value = "params") Map<String, Object> params);

    /**
     * 租赁顾问根据服务中心查询中心下的租赁顾问
     */
    @GetMapping("provider/Zfeign/getWoSaleIdList")
    JsonResult getWoSaleIdList(@RequestParam(value = "params") Map<String, Object> params);

    /**
     * 获取这个部门的所属公司信息 根据部门编号
     *
     * @param deptId
     * @return
     */
    @PostMapping("provider/getAreaInfoForGSByDeptId")
    JsonResult getAreaInfoForGSByDeptId(@RequestParam("deptId") String deptId);
    /**
     * 运营部服务秘书账单管理根据编号查询管家的姓名
     */
    @PostMapping("/provider/Zfeign/addMessage")
    JsonResult addMessage(@RequestBody Map<String, Object> params);
    /**
     * 查询所有服务中心
     */
    @GetMapping("/provider/Zfeign/getSysDeptInfoList")
    JsonResult getSysDeptInfoList();
}
